#pragma once
#include"Window.h"
#include "BasicButton.h"
#include"Textbox.h"
#include"login.h"
#include"graph.h"
#include<iostream>
#include<vector>
#include<sstream>

class System
{
	ExMessage m_msg;
	enum Operator {
		Managerlogin,
		Userlogin,
		Regist,
		Exit,
		Menu
	};
public:
	void run();

	int menu(); //初始进入页面

	void managerlogin(); //管理员登录页面
	void userlogin(); //用户登录页面
	void regist(); //注册页面
	void exit(); //退出函数

	void userMainGujia();//用户主界面骨架
	int userMainPage(); //用户主页面
	void managerMainGujia1();//管理员主界面骨架（无功能展开页）
	int managerMainPage1(); //管理员主页面（无功能展开页）
	void managerMainGujia2();//管理员主界面骨架（打开功能展开页）
	int managerMainPage2(); //管理员主页面（打开功能展开页）

	void searchPlace(); //景点卡片与搜索页面
	void changeThreePlace(int first, vector<Scenery>& np);//翻页修改的部分
    void changeSearchplace(int first, vector<Dot*>& np, vector<Dot*>& searchpl);//经过查询后修改的部分
	void placeShow(Scenery& scen); //景点信息页面

	void searchPathGujia(); //路径搜索骨架
	int searchPath(string& be, string& en); //路径搜索页面
	void pathShowGujia(string begin, string end); //起点-终点的多条路径页面骨架
	int pathShow(string begin, string end); //多条路径显示页面（默认步行页面）
	int pathShow2(string begin, string end); //多条路径显示页面（骑行页面）
	int pathShow3(string begin, string end); //多条路径显示页面（校车页面）
	void onePathShow(string beginpl, string endpl, double len, vector<Dot*>path, double speed, bool isshort); //某条路径的详细信息

	void addplaceGujia(); //增加地点骨架
	void addPlace(); //添加景点页面
	void addOrdinaryDot(); //增加普通点
	void addCrossroad(); //增加十字路口

	void deleteplaceGujia(); //删除地点骨架
	void deleteOrdinaryDot(); //删除普通点
	void deleteCrossroad(); //删除十字路口
	void deletePlace(); //删除景点页面

	void addPath(); //添加道路页面
	void deletePath(); //删除道路页面
};

